package la.iok.hzsvn.lewin.movie.core.model;

import la.iok.hzsvn.share.collection.IdAble;

import java.util.Date;

/**
 * 只包含用户表单表数据信息。在一些不需要关联查询时使用
 */
public class SimpleUser implements IdAble<Long> {
    /**
     * 正常状态
     */
    public static final int STATUS_NORMAL = 0;
    /**
     * 已经被禁止状态
     */
    public static final int STATUS_DISABLED = 1;
    /**
     * 官方渠道注册
     */
    public static final Integer REG_CHANNEL_OFFICIAL = 0;
    /**
     * 微信小程序注册
     */
    public static final Integer REG_CHANNEL_WX_MINI = 1;
    private Long id;
    /**
     * 手机号
     */
    private String phoneNumber;
    /**
     * 用户的昵称。可能为空
     */
    private String nickname;
    /**
     * 用户的姓别。0-未知Null;1-男man；2-女woman
     */
    private int gender;
    /**
     * 用户的头像文件ID。可能为空
     */
    private Long CoverFileId;
    /**
     * 组织id
     */
    private Long orgUnitId;
    /**
     * 注册时间
     */
    private Date registerTime;
    /**
     * 是否已经被禁止。0表示正常状态,1表示已被禁止
     */
    private Integer disabled;
    /**
     * 注册渠道.默认为0，表示官方渠道，比如管理员添加、PAD端注册、开本时扫描开本二维码注册等（将来可能还会扩展），
     * 1表示微信小程序注册，通过在微信小程序中登录微信进行绑定的时候,是一个未注册的用户手机号，此时进行注册，注册渠道就是1
     */
    private Integer regChannel;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public Long getOrgUnitId() {
        return orgUnitId;
    }

    public void setOrgUnitId(Long orgUnitId) {
        this.orgUnitId = orgUnitId;
    }

    public Date getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

    public Integer getDisabled() {
        return disabled;
    }

    public void setDisabled(Integer disabled) {
        this.disabled = disabled;
    }

    /**
     * 判断是否是正常状态
     * @return true表示正常状态,否则false
     */
    public boolean normalStatus(){
        return disabled != null && disabled == STATUS_NORMAL;
    }

    public Integer getRegChannel() {
        return regChannel;
    }

    public void setRegChannel(Integer regChannel) {
        this.regChannel = regChannel;
    }

    public int getGender() {
        return gender;
    }

    public void setGender(int gender) {
        this.gender = gender;
    }

    public Long getCoverFileId() {
        return CoverFileId;
    }

    public void setCoverFileId(Long coverFileId) {
        CoverFileId = coverFileId;
    }
}
